package com.wfy.modules.sys.service.impl;

import com.wfy.common.config.EmailConfig;
import com.wfy.modules.sys.service.IMail;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.io.File;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * User: wangxindong
 * Date: 2017/10/14
 * Time: 22:49
 */
@Service(value = "emailServiceImpl")
public class EmailServiceImpl implements IMail {

    // ================================================================
    // Constants
    // ================================================================

    // ================================================================
    // Fields
    // ================================================================

    @Resource
    private EmailConfig emailConfig;

    @Resource
    private JavaMailSender javaMailSender;


    // ================================================================
    // Constructors
    // ================================================================

    // ================================================================
    // Methods from/for super Interfaces or SuperClass
    // ================================================================

    @Override
    public void sendSimpleMail(String sendTo, String titel, String content) {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setFrom(emailConfig.getEmailFrom());
        message.setTo(sendTo);
        message.setSubject(titel);
        message.setText(content);
        javaMailSender.send(message);
    }

    @Override
    public void sendAttachmentsMail(String sendTo, String titel, String content, File file) {

    }

    @Override
    public void sendTemplateMail(String sendTo, String titel, Map<String, Object> content, File file) {

    }

    // ================================================================
    // Public or Protected Methods
    // ================================================================


    // ================================================================
    // Getter & Setter
    // ================================================================

    // ================================================================
    // Private Methods
    // ================================================================


    // ================================================================
    // Inner or Anonymous Class
    // ================================================================

    // ================================================================
    // Test Methods
    // ================================================================

}
